/*
 * Copyright 2025 arisgo@163.com
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.arisgo.cloud.auth.sys.vo;

import com.arisgo.cloud.web.model.NumberIdWithTree;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 菜单
 *
 * @author Arisgo
 * @since 2024-06-14
 */
@Data
@Schema(description = "菜单信息")
public class MenuVo extends NumberIdWithTree<MenuVo> {

    /**
     * 菜单编号
     */
    @Schema(name = "code", description = "菜单编号")
    private String code;

    /**
     * 菜单名称
     */
    @Schema(name = "name", description = "菜单名称")
    private String name;

    /**
     * 菜单路径
     */
    @Schema(name = "path", description = "菜单路径")
    private String path;

    /**
     * 菜单资源
     */
    @Schema(name = "icon", description = "菜单资源")
    private String icon;

    /**
     * 菜单类型 0/菜单 1/Tab 2/按钮
     */
    @Schema(name = "type", description = "菜单类型 0/菜单 1/Tab 2/按钮")
    private Integer type;

    /**
     * 按钮类型
     */
//    @Schema(name = "action", description = "按钮类型")
//    private Integer action;

    /**
     * 是否打开新页面 0/不开 1/开
     */
    @Schema(name = "isOpen", description = "是否打开新页面 0/不开 1/开")
    private Integer isOpen;

    /**
     * 备注
     */
    @Schema(name = "describe", description = "说明")
    private String describe;

}
